# -*- coding: utf-8 -*-
# autor: Rui-6047, Pedro-11240
# data: 25 de Outubro de 2013
# obs: 1º Parte do Trabalho de LP

import sqlite3
import xlrd
########################################################################
## Definição que Cria e preenche a Base de Dados
########################################################################
def createDatabase():
	'''Method that creates and fills the database'''

	connection = sqlite3.connect("database.db")
	cursor = connection.cursor()

	cursor.execute('''drop table if exists Data''')
	connection.commit()

	cursor.execute('''create table if not exists Data (id INTEGER, 
		Codigo_instituicao INTEGER,
		Codigo_curso INTEGER, 
		Nome_instituicao TEXT,
		Nome_curso TEXT,
		Grau TEXT,
		Vagas_iniciais INTEGER,
		Colocados INTEGER,
		nota_ultimo_colocado INTEGER,
		Vagas_sobrantes INTEGER)''')


	wb = xlrd.open_workbook('cna131fresultados.xls')

	Codigo_instituicao = []
	Codigo_curso = []
	Nome_instituicao = []
	Nome_curso = []
	Grau = []
	Vagas_iniciais = []
	Colocados = []
	nota_ultimo_colocado = []
	Vagas_sobrantes = []

	i = 0
	sh = wb.sheet_by_index(0)
		
	for row in range(4, sh.nrows - 2):
			
		Codigo_instituicao = (sh.cell_value(row, 0))
		Codigo_curso = (sh.cell_value(row, 1))
		Nome_instituicao = (sh.cell_value(row, 2))
		Nome_curso = (sh.cell_value(row, 3))
		Grau = (sh.cell_value(row, 4))
		Vagas_iniciais = (sh.cell_value(row, 5))
		Colocados = (sh.cell_value(row, 6))
		nota_ultimo_colocado = (sh.cell_value(row, 7))
		Vagas_sobrantes = (sh.cell_value(row, 8))

		cmd = '''insert into Data (id,
			Codigo_instituicao,
			Codigo_curso,
			Nome_instituicao,
			Nome_curso,
			Grau,
			Vagas_iniciais,
			Colocados,
			nota_ultimo_colocado,
			Vagas_sobrantes)
			values ("{0}", "{1}", "{2}", "{3}", "{4}",
			"{5}", "{6}", "{7}", "{8}", "{9}")'''.\
			format(i,
			Codigo_instituicao,
			Codigo_curso,
			str(Nome_instituicao.encode('utf-8').replace( '"', '♦' ) + ' '),
			str(Nome_curso.encode('utf-8').replace( '"', '♦' )),
			Grau,
			Vagas_iniciais,
			Colocados,
			nota_ultimo_colocado,
			Vagas_sobrantes
			)
		cursor.execute(cmd)
		i = i + 1
		pass
               
	connection.commit()
	connection.close()

	pass
pass
